package org.xgluo.nodeutil;

import java.util.List;

/***
 * @author LXG
 * @program: JBOToExcle
 * @Name: BaseNode
 * @description:
 * @date 2024年12月02日 15:59
 */
public interface BaseNode {

    //基本原素节点类型
    public static final short ELEMENT_NODE = 1;

    //注释节点
    public static final short COMMENT_NOde = 2;

    //根节点：一个xml文件有且仅有一个根节点
    public static final short DOCUMENT_NODE = 3;


    /**
     * @Description: 是否有子节点
     * @param
     * @return boolean
     * @date 2024/12/2 10:37
     * @author LXG
     */
    boolean haveChildXNode();

    /**
     * @Description: 返回指定层级指定Id的节点（要求不重复），找到一个便停止继续查找并返回
     * @param idNode   判断当前节点及其子节点
     * @param levelNode 节点级别
     * @return XNode
     * @date 2024/12/2 15:34
     * @author LXG
     */
    XNode getXNode(String idNode, int levelNode);


    /**
     * @Description: 根据层级和节点编号获取子节点信息
     * @param nodeList 节点列表
     * @param idNode 节点编号
     * @param levelNode 节点层级
     * @return void
     * @date 2024/12/2 16:07
     * @author LXG
     */
    void getXNodeList(List<XNode> nodeList, String idNode, int levelNode);

    /**
     * @Description: 获取节点指定的属性
     * @param attributeName 属性名称
     * @return String
     * @date 2024/12/2 16:16
     * @author LXG
     */
    String getAttribute(String attributeName);
}
